85 research outputs found

    O padrão UMIOP como base para comunicação de grupo confiável em sistemas distribuídos de larga escala

    Get PDF
    Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico. Programa de Pós-Graduação em Engenharia Elétrica.O conceito de grupo de objetos é uma abstração largamente usada no tratamento de replicação em sistemas distribuídos tolerantes a faltas. Os sistemas que se baseiam neste conceito geralmente utilizam algum tipo de suporte de comunicação de grupo (SCG), que oferece comunicação multiponto através de primitivas com níveis diferenciados de confiabilidade de entrega e ordenação de mensagens. Em sistemas de larga escala, como a Internet, o multicast IP é a tecnologia base para a construção de protocolos de difusão seletiva confiável, que se constituem na base dos SCG. A junção dos conceitos de objetos distribuídos e de grupo em suportes de middleware, em especial os que seguem a arquitetura CORBA, tem sido objeto de pesquisas recentes, que motivaram a OMG a lançar duas especificações no sentido de introduzir o conceito de grupo nesta arquitetura: FT-CORBA (Fault-Tolerant CORBA), que introduz alguns serviços para suporte à tolerância a faltas nesta arquitetura, e o UMIOP (Unreliable Multicast Inter-ORB Protocol), que provê um protocolo de difusão não confiável (MIOP) baseado em multicast IP e um modelo de objetos para suportar este protocolo em ORBs CORBA. Com estes dois padrões a OMG separa claramente aspectos de comunicação de grupo (UMIOP) e de membership (FT-CORBA). Este trabalho propõe um modelo de integração entre o FT-CORBA e o UMIOP utilizando o ReMIOP (Reliable MIOP), que corresponde ao protocolo MIOP acrescido de controle de fluxo e retransmissões a fim de dar confiabilidade a este, como base para suporte de comunicação de grupo. A concretização destas experiências com comunicação de grupo no CORBA deram origem ao MJaco, um ORB que implementa o padrão UMIOP e suas extensões para confiabilidade, bem como mantém suas capacidades de comunicação ponto a ponto. A existência do MJaco abre espaço para a implementação do modelo proposto e uma série de pesquisas sobre middleware adaptativo

    Coordenação desacoplada tolerante a faltas bizantinas

    Get PDF
    Tese (doutorado) - Universidade Federal de Santa Catarina, Centro Tecnológico. Programa de Pós-graduação em Engenharia ElétricaSistemas distribuídos abertos são tipicamente compostos por um número desconhecido e variável de processos executando em um ambiente heterogêneo, onde as comunicações muitas vezes requerem desconexões temporárias e segurança contra ações maliciosas. A coordenação por espaço de tuplas é um modelo de comunicação bastante conhecido para estes ambientes pois provê comunicação desacoplada tanto no tempo (os processos não precisam estar ativos ao mesmo tempo para interagirem) quanto no espaço (os processos não necessitam saber os endereços uns dos outros). Vários trabalhos têm tentado melhorar a segurança de funcionamento dos espaços de tuplas através do uso de replicação e transações para tolerância a faltas ou controle de acesso e criptografia para segurança. Entretanto, muitas aplicações práticas na Internet requerem ambas estas dimensões. Nesta tese, o modelo de coordenação por espaços de tuplas é usado para resolver o problema da coordenação desacoplada em ambientes não confiáveis, i.e., onde os processos estão sujeitos a falhas bizantinas (podem desviar-se arbitrariamente de suas especificações). Os resultados aqui apresentados atacam dois problemas básicos: (1) como construir espaços de tuplas com segurança de funcionamento (seguros e tolerantes a faltas bizantinas), e (2) como usar estes espaços para resolução de problemas fundamentais em computação distribuída. Os resultados referentes a (1) são uma arquitetura para espaço de tuplas com segurança de funcionamento que integra mecanismos de segurança e tolerância a faltas, duas construções eficientes para espaços de tuplas tolerantes a faltas bizantinas baseadas em uma nova filosofia de replicação, e um esquema de confidencialidade para espaços de tuplas replicados. Com relação á (2), é mostrado que um espaço de tuplas aumentado protegido por políticas de granularidade fina pode ser usado para resolver eficientemente vários problemas em computação distribuída mesmo com processos sujeitos a falta

    From Data Islands to Sharing Data in the Cloud: the Evolution of Data Integration in Biological Data Repositories

    Get PDF
    Biological data repositories were often data islands with unharmo- nized formats, models, and protocols. Their integration evolved along the years and sharing data in multi-tenant infrastructures is a reality now. In this article, we illustrate this evolution by presenting real-world cases from the bioinformat- ics area and collect the best practices and current trends that future solutions should observe from these examples. Finally, we situate the platform being cre- ated by the BiobankCloud project in the scenario of integrating biological data

    Sharing Memory between Byzantine Processes using Policy-enforced Tuple Spaces

    Get PDF
    Abstract—Despite the large amount of Byzantine fault-tolerant algorithms for message-passing systems designed through the years, only recent algorithms for the coordination of processes subject to Byzantine failures using shared memory have appeared. This paper presents a new computing model in which shared memory objects are protected by fine-grained access policies, and a new shared memory object, the Policy-Enforced Augmented Tuple Space (PEATS). We show the benefits of this model by providing simple and efficient consensus algorithms. These algorithms are much simpler and require less shared memory operations, using also less memory bits than previous algorithms based on access control lists (ACLs) and sticky bits. We also prove that PEATS objects are universal, i.e., that they can be used to implement any other shared memory object, and present lock-free and wait-free universal constructions. Index Terms—Byzantine fault-tolerance, shared memory algorithms, tuple spaces, consensus, universal constructions. Ç

    On the Effects of Diversity on Intrusion Tolerance

    Get PDF
    The security gains of intrusion-tolerant systems are directly dependent on the assumption that system components fail independently of one another. The coverage of this assumption in a real-world deployment depends on how diversity is employed, using, for example, diverse off-the-shelf components. In this paper we detail a study we have done with vulnerability data, reported in the period 1999 to 2007, which we extracted from the NIST National Vulnerability Database. We provide empirical analysis of the data collected as well as exploratory analyses of the potential gains in security from employing diverse operating systems. The modelling approaches presented are of practical significance to system designers wishing to employ diversity with off-the-shelf components since often the vulnerability reports are the only direct security evidence available to the

    SCFS: A Shared Cloud-backed File System

    Get PDF
    Despite of their rising popularity, current cloud storage services and cloud-backed storage systems still have some limitations related to reliability, durability assurances and inefficient file sharing. We present SCFS, a cloud-backed file system that addresses these issues and provides strong consistency and near-POSIX semantics on top of eventually-consistent cloud storage services. SCFS provides a pluggable backplane that allows it to work with various storage clouds or a cloud-of-clouds (for added dependability). It also exploits some design opportunities inherent in the current cloud services through a set of novel ideas for cloud-backed file systems: always write and avoid reading, modular coordination, private name spaces and consistency anchors.

    How Practical Are Intrusion-Tolerant Distributed Systems?

    Get PDF
    Building secure, inviolable systems using traditional mechanisms is becoming increasingly an unattainable goal. The recognition of this fact has fostered the interest in alternative approaches to security such as intrusion tolerance, which applies fault tolerance concepts and techniques to security problems. Albeit this area is quite promising, intrusion-tolerant distributed systems typically rely on the assumption that the system components fail or are compromised independently. This is a strong assumption that has been repeatedly questioned. In this paper we discuss how this assumption can be implemented in practice using diversity of system components. We present a taxonomy of axes of diversity and discuss how they provide failure independence. Furthermore, we provide a practical example of an intrusion-tolerant system built using diversity

    Minimal Byzantine Fault Tolerance: Algorithm and Evaluation

    Get PDF
    This paper presents two asynchronous Byzantine faulttolerant state machine replication (BFT) algorithms that are minimal in several senses. First, they require only 2 f +1 replicas, instead of the usual 3 f +1. Second, the trusted service in which this reduction of replicas is based is arguably minimal, so it is simple to verify and implement (which is possible even using commercial trusted hardware). Third, in nice executions the two algorithms run in the minimum number of communication steps for nonspeculative and speculative algorithms, respectively 4 and 3 steps. Besides the obvious benefits in terms of cost, resilience and management complexity of having less replicas to tolerate a certain number of faults, our algorithms are simpler than previous ones (being closer to crash faulttolerant replication algorithms). The performance evaluation shows that, even with the trusted component access overhead, they can have better throughput than Castro and Liskov’s PBFT, and better latency in networks with nonnegligible communication delays. Comparing with the previous paper [49], this version presents a slight modifications of the algorithms, the proof of their correctness and a new performance evaluation

    D1.3 - SUPERCLOUD Architecture Implementation

    Get PDF
    In this document we describe the implementation of the SUPERCLOUD architecture. The architecture provides an abstraction layer on top of which SUPERCLOUD users can realize SUPERCLOUD services encompassing secure computation workloads, secure and privacy-preserving resilient data storage and secure networking resources spanning across different cloud service providers' computation, data storage and network resources. The components of the SUPERCLOUD architecture implementation are described. Integration between the different layers of the architecture (computing security, data protection, network security) and with the facilities for security self-management is also highlighted. Finally, we provide download and installation instructions for the released software components that can be downloaded from our common SUPERCLOUD code repository
    corecore